/**
 * 基础路由
 * @type { *[] }
 */

const constantRouterMap = [
  // {
  //   path: "/",
  //   component: () => import("@/views/vueui/login/Window.vue"),
  // },
  {
    path: "/",
    component: () => import("@/layouts/AppSider.vue"),
    children: [
      {
        path: "/framework",
        name: "Framework",
        component: () => import("@/layouts/Menu.vue"),
        props: { id: "framework" },
        //props: true,
        redirect: { name: "FrameworkSocketIpc" },
        children: [
          {
            path: "/framework/socket/ipc",
            name: "FrameworkSocketIpc",
            component: () => import("@/views/framework/socket/Ipc.vue"),
          },
          {
            path: "/framework/socket/httpserver",
            name: "FrameworkSocketHttpServer",
            component: () => import("@/views/framework/socket/HttpServer.vue"),
          },
          {
            path: "/framework/socket/socketserver",
            name: "FrameworkSocketSocketServer",
            component: () =>
              import("@/views/framework/socket/SocketServer.vue"),
          },
          // {
          //   path: '/framework/jsondb/index',
          //   name: 'FrameworkJsonDBIndex',
          //   component: () => import('@/views/framework/jsondb/Index.vue')
          // },
          // {
          //   path: '/framework/sqlitedb/index',
          //   name: 'FrameworkSqliteDBIndex',
          //   component: () => import('@/views/framework/sqlitedb/Index.vue')
          // },
          {
            path: "/framework/updater/index",
            name: "FrameworkUpdaterIndex",
            component: () => import("@/views/framework/updater/Index.vue"),
          },
          {
            path: "/framework/software/index",
            name: "FrameworkSoftwareIndex",
            component: () => import("@/views/framework/software/Index.vue"),
          },
          {
            path: "/framework/testapi/index",
            name: "FrameworkTestApiIndex",
            component: () => import("@/views/framework/testapi/Index.vue"),
          },
        ],
      },
      {
        path: "/os",
        name: "Os",
        component: () => import("@/layouts/Menu.vue"),
        props: { id: "os" },
        redirect: { name: "OsFileIndex" },
        children: [
          {
            path: "/os/file/index",
            name: "OsFileIndex",
            component: () => import("@/views/os/file/Index.vue"),
          },
          {
            path: "/os/file/pic",
            name: "OsFilePic",
            component: () => import("@/views/os/file/Pic.vue"),
          },
          {
            path: "/os/windowview/index",
            name: "OsWindowViewIndex",
            component: () => import("@/views/os/windowview/Index.vue"),
          },
          {
            path: "/os/window/index",
            name: "OsWindowIndex",
            component: () => import("@/views/os/window/Index.vue"),
          },
          {
            path: "/os/notification/index",
            name: "OsNotificationIndex",
            component: () => import("@/views/os/notification/Index.vue"),
          },
          {
            path: "/os/powermonitor/index",
            name: "OsPowerMonitorIndex",
            component: () => import("@/views/os/powermonitor/Index.vue"),
          },
          {
            path: "/os/screen/index",
            name: "OsScreenIndex",
            component: () => import("@/views/os/screen/Index.vue"),
          },
          {
            path: "/os/theme/index",
            name: "OsThemeIndex",
            component: () => import("@/views/os/theme/Index.vue"),
          },
          {
            path: "/os/system/index",
            name: "OsSystemIndex",
            component: () => import("@/views/os/system/Index.vue"),
          },
        ],
      },
      {
        path: "/hardware",
        name: "Hardware",
        component: () => import("@/layouts/Menu.vue"),
        props: { id: "hardware" },
        redirect: { name: "HardwarePrinterIndex" },
        children: [
          {
            path: "/hardware/printer/index",
            name: "HardwarePrinterIndex",
            component: () => import("@/views/hardware/printer/Index.vue"),
          },
        ],
      },
      {
        path: "/vueui",
        name: "vueui",
        component: () => import("@/layouts/Menu.vue"),
        props: { id: "vueui" },
        redirect: { name: "vueuiVideoIndex" },
        children: [
          {
            path: "/vueui/video/index",
            name: "vueuiVideoIndex",
            component: () => import("@/views/vueui/video/Index.vue"),
          },
          {
            path: "/vueui/login/index",
            name: "vueuiLoginIndex",
            component: () => import("@/views/vueui/login/Index.vue"),
          },
        ],
      },
      {
        path: "/classroom",
        name: "classroom",
        component: () => import("@/views/classroom/classroom/index.vue"),
        children: [
          {
            path: "/classroom/classroom/index",
            name: "Classroom",
            component: () => import("@/views/classroom/classroom/index.vue"),
          },
        ],
      },
      {
        path: "/grindLessons",
        name: "grindLessons",
        component: () => import("@/views/classroom/grindLessons/index.vue"),
        children: [
          {
            path: "/grindLessons",
            name: "GrindLessons",
            component: () => import("@/views/classroom/grindLessons/index.vue"),
          },
        ],
      },
      // {
      //   path: "/broadcast",
      //   name: "Broadcast",
      //   component: () => import("@/views/classroom/broadcast.vue"),
      // },
      // {
      //   path: "/network",
      //   name: "Network",
      //   component: () => import("@/views/classroom/network.vue"),
      // },
    ],
  },
  {
    path: "/special",
    name: "special",
    children: [
      {
        path: "subwindow",
        name: "SpecialSubwindowIpc",
        component: () => import("@/views/os/subwindow/Ipc.vue"),
      },
      {
        path: "broadcast",
        name: "Sroadcast",
        component: () => import("@/views/classroom/broadcast.vue"),
      },
      {
        path: "network",
        name: "Network",
        component: () => import("@/views/classroom/network.vue"),
      },
      {
        path: "/login",
        name: "SpecialLoginWindow",
        component: () => import("@/views/vueui/login/Window.vue"),
      },
    ],
  },
];

export default constantRouterMap;
